#ifndef GRID_H
#define GRID_H
#include <string>
#include <fstream>
#include <iostream>
#include <cstdlib>
// #include <stdexcept>
#include "../../include/vec1d.h"
using std::ifstream;
using std::string;

/**
 * @brief 网格基本数据
 *      不允许复制
 *      一些变量是不是要设置为静态的
 */
struct Grid
{
    size_t imax;
    size_t ib2;
    size_t ncells;
    vec1d<double> x;  ///< 坐标
    vec1d<double> area;    ///< 面积
    vec1d<double> vol;  ///< 体积

    Grid() noexcept = default;
    Grid(const Grid &) = delete;
    Grid &operator=(const Grid &) = delete;
    Grid(Grid &&) = delete;
    Grid &operator=(Grid &&) = delete;
    ~Grid() = default;
    void rgrid(const string &) noexcept;
    void inigrid() noexcept;
};



#endif